A Formal Approach to Domain-Oriented Software Design Environments
نویسندگان
چکیده
This paper describes a formal approach to domain-oriented software design environments, based on declarative domain theories, formal specifications, and deductive program synthesis. A declarative domain theory defines the semantics of a domain-oriented specification language and its relationship to implementation-level subroutines. Formal specification development and reuse is made accessible to users through an intuitive graphical interface that guides them in creating diagrams denoting formal specifications. Deductive program synthesis ensures that specifications are correctly implemented. This approach has been implemented in AMPHION, a generic KBSE system that targets scientific subroutine libraries. AMPHION has been applied to the domain of solar system kinematics. AMPHION enables space scientists to develop, modify, and reuse specifications an order of magnitude more rapidly than manual program development. Program synthesis is efficient and completely automatic. 1: Introduction This paper describes AMPHION 1 : an implemented Domain Oriented Design Environment (DODE). In contrast to previous approaches to DODEs [4], AMPHION is based on formal specifications and automated deductive synthesis for program development. Nonetheless, from a user's viewpoint, AMPHION is similar to previously published accounts of DODEs. The thesis of this paper is that the development , modification, and reuse of problem specifications — not programs— are the central activities around which a domain-oriented KBSE life cycle should revolve. This is in consonance with the original vision for the knowledge-based software assistant [5]. For the high-assurance soft-1. Amphion was Zeus's son who used his magic lyre to charm the stones around Thebes into position to form the city's walls. ware that characterizes NASA's needs, basing a DODE on formal specifications offers many advantages, and, as reported in this paper, is eminently feasible. Formal specifications provide an abstract and unambig-uous representation of a user's requirements. Formal methods ensure that a program is a correct implementation of a formal specification. AMPHION addresses several difficulties that have impeded formal frameworks being used in practice [8]. Users without a background in formal mathematics find that developing a formal problem specification is usually more difficult than developing code manually. In part, this is due to the need to formalize the domain concepts necessary to state a problem. Our approach to DODEs separates the activity of domain formalization from the activity of individual problem formalization. Users are also unaccustomed to the syntax and notation of mathematical logic. AMPHION incorporates techniques from visual programming and structured editing to guide users in creating domain-oriented diagrams that are translated …
منابع مشابه
Automatic Domain - Oriented Software Design
This paper describes a formal approach to automating domain-oriented software design. The formal approach ensures that a us-er's problem specification is correctly implemented, given a validated domain theory. A declarative domain theory defines the semantics of a domain-oriented specification language and its relationship to implementation-level subroutines. Formal specification development an...
متن کاملObjects Identification in Object-Oriented Software Development - A Taxonomy and Survey on Techniques
Analysis and design of object oriented is onemodern paradigms for developing a system. In this paradigm, there are several objects and each object plays some specific roles. Identifying objects (and classes) is one of the most important steps in the object-oriented paradigm. This paper makes a literature review over techniques to identify objects and then presents six taxonomies for them. The f...
متن کاملFormal object oriented development of software systems using LOTOS
i Abstract Formal methods are necessary in achieving correct software: that is, software that can be proven to fulll its requirements. Formal speciications are unambiguous and analysable. Building a formal model improves understanding. The modelling of nondeterminism, and its subsequent removal in formal steps, allows design and implementation decisions to be made when most suitable. Formal mod...
متن کاملA Domain-driven Approach for Designing Management Services
A service-oriented software solution to flexibly support changing business environments requires the existence of an adaptable management support system. Decoupling management processes from concrete tools by encapsulating needed management functionality into management services can help meet this requirement. However, creating management solutions is a difficult and challenging task. Due to th...
متن کاملObject Identification and Aspect Mining in Procedural Object-Oriented Code
In this dissertation, we present Procedural Object-Oriented Code (POC). POC is the aftermath of the software development activity that involves state of the art object-oriented languages, without employing object-oriented analysis and design. Huge classes, absence of abstractions for domain entities, and shallow inheritance hierarchies are hallmark design defects of procedural object-oriented c...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1994